export default {
    // hover-class
    hoverClass: {
        type: String,
        default: "pure-hover",
    },

    // 开始日期
    startDate: {
        type: [String, Date, Number, Function],
        default: new Date(),
    },

    // 结束日期
    // 默认开始日期后6个月
    endDate: {
        type: [String, Date, Number, Function],
        default: () => {
            const date = new Date();
            date.setMonth(date.getMonth() + 6);
            return date;
        },
    },

    // 默认选中的日期
    defaultDate: {
        type: [String, Date, Number, Function, Array],
        default: null,
    },

    // 禁用的日期
    disabledDate: {
        type: [String, Date, Number, Function, Array],
        default: null,
    },

    // 默认展示的日期（所在的月份）
    showDate: {
        type: [String, Date, Number, Function],
        default: () => new Date(),
    },

    // 一周的第一天
    firstDayOfWeek: {
        type: Number,
        default: 0,
    },

    // 选择模式
    // single 表示选择单个日期，
    // multiple 表示选择多个日期，
    // range 表示选择日期区间
    mode: {
        type: String,
        default: "single",
    },

    // 切换器模式
    // none: 不显示切换器
    // month: 显示月份切换器
    // year-month: 显示年份和月份切换器
    switchMode: {
        type: String,
        default: "none",
    },

    // 标题
    title: {
        type: String,
        default: "日历",
    },

    // 年份图标
    yearPrevIcon: {
        type: String,
        default: "__zuo3",
    },

    yearNextIcon: {
        type: String,
        default: "__you3",
    },

    // 月份图标
    monthPrevIcon: {
        type: String,
        default: "__zuo2",
    },

    monthNextIcon: {
        type: String,
        default: "__you2",
    },

    // 周
    week: {
        type: Array,
        default: () => ["日", "一", "二", "三", "四", "五", "六"],
    },

    // 水印格式化函数
    formatWatermark: {
        type: Function,
        default: null,
    },

    // 是否显示水印
    watermark: {
        type: Boolean,
        default: true,
    },

    // 月份Header显示的文字格式化函数
    formatMonthTitle: {
        type: Function,
        default: null,
    },

    // 格式化日期
    formatDay: {
        type: Function,
        default: null,
    },

    // 格式化副标题
    formatSubtitle: {
        type: Function,
        default: null,
    },

    // 是否弹窗展示
    poppable: {
        type: Boolean,
        default: true,
    },

    // 显示状态
    show: {
        type: Boolean,
        default: false,
    },

    // 是否显示关闭按钮
    close: {
        type: Boolean,
        default: true,
    },

    // 关闭按钮图标
    closeIcon: {
        type: String,
        default: "__cuo",
    },

    // 是否显示遮罩
    overlay: {
        type: Boolean,
        default: true,
    },

    // 点击遮罩是否可以关闭
    stopCloseOnClickOverlay: {
        type: Boolean,
        default: false,
    },

    // 是否显示Footer
    footer: {
        type: Boolean,
        default: true,
    },

    // 确认按钮的class
    btnClass: {
        type: [String, Array, Object],
        default: "pure-button-primary pure-button-block pure-button-round",
    },

    // 确认按钮的文字
    btnText: {
        type: String,
        default: "确认",
    },

    // 按钮的其他配置项
    btnOpts: {
        type: Object,
        default: () => {},
    },

    // 安全底部
    safeBottom: {
        type: Boolean,
        default: true,
    },

    // 显示副标题
    subtitle: {
        type: Boolean,
        default: false,
    },

    // 只读模式
    readonly: {
        type: Boolean,
        default: false,
    },

    // 最多可选择的天数
    maxRange: {
        type: Number,
        default: undefined,
    },

    // 单选时是否可取消
    cancelable: {
        type: Boolean,
        default: false,
    },
};
